1. Field of the Invention
The present invention generally relates to a method, system and program product for determining differences between an existing GUI mapping file and a current GUI. More particularly, the present invention enhances GUI object testing by automatically determining the GUI objects that have changed between versions of a software program.
2. Background Art
A significant part of the development cycle in any software program is the testing cycle. Testing is necessary to ensure that the program functions correctly. For many programs, part of the testing cycle includes graphical user interface (GUI) object testing. GUI objects are the icons, push buttons, drop down menus, etc. that a user of the program will manipulate to utilize the program. Since the GUI objects play an important role in a program's functionality, it is often desirable to test the objects themselves. In general, GUI object testing helps ensure, among other things: (1) all GUI objects are present; (2) the GUI objects are in the correct functional form; (3) the GUI objects have the correct default settings and associated text (if any); and (4) the GUI objects function properly.
GUI object testing is typically implemented via testing tools such as GUI capture play back testing tools. To facilitate the automation of GUI test cases, the testing tools commonly create various forms of GUI mapping files that are used to describe the contents of the program's GUI at an object level. Specifically, a GUI mapping file generally includes one line of text for each GUI object, with each line describing a particular GUI object. Unfortunately, GUI mapping files are extremely difficult to maintain. That is, a program's GUI often experiences significant change from one version or build to the next. It is essential for the build and test teams of the program to be informed of any such changes for proper testing. Failure of the teams to be so informed can waste valuable time during testing.
Currently, changes to the GUI from one version of a program to the next are manually identified. Not only is manual identification time-consuming, but it is also costly. This is especially the case since a GUI typically includes a hierarchy of parent-child objects.
In view of the foregoing, there exists a need for a method, system and program product for determining differences between an existing GUI mapping file and a current GUI. Specifically, a need exists for way to determine the GUI object differences between a previous version of a program and current version of the program. A further need exists to recursively determine such differences so that both parent and child object differences can be determined.